const jsonwebtoken = require('jsonwebtoken');
const jwt_sign = 'bgy';

const jwt = {
  /**
   * 生成Token
   * @param {user_type: '', user_id: 0, user_name: ''} data   用户信息
   * @returns string 加密后的token串
   */
  sign(data) {
    const code = jsonwebtoken.sign(data, jwt_sign, {
      algorithm: 'HS256',
      // 有效期: 12小时
      expiresIn: 60 * 60 * 12,
    });
    return code;
  },
  /**
   * 解析Token
   * @param string code
   * @returns boolean|object 解析后的信息
   */
  parse(code) {
    // console.log(code);
    return new Promise((res) => {
      jsonwebtoken.verify(code, jwt_sign, (err, result) => {
        if (err) {
          res(false);
          return;
        }
        res(result);
      });
    });
  },
};

module.exports = jwt;
